Для проверки этого примера, так как у меня один адрес LANA (одна сетевая карта, один протокол NetBEUI) я поменял адрес LANA.
Для получения списка номеров LANA есть команда NCBENUM. При вызове этой команды в параметр NCB.ncb_buffer необходимо передать структуру LANA_ENUM. Вот как она выглядит.
typedef struct _LANA_ENUM
{
UCHAR length;
UCHAR lana[MAX_LANA];
} LANA_ENUM;
Объявим её в программе.
LANA_ENUM lan_num;Передадим параметры.
ncb.ncb_command = NCBENUM; ncb.ncb_buffer = (unsigned char *) &lan_num; ncb.ncb_length = sizeof(lan_num);Выполнить команду NetBios.
uRetCode = Netbios((NCB*) &ncb;Проверить код возврата.
if (uRetCode != 0)
{
cout << "error NCBENUM " << endl;
exit(1);
}
Перечислить все LANA номера
for (int x=0;x < lan_num.length; x++)
{
printf( "The LANA Number is: %03u",lan_num.lana[x]);
cout << endl;
}
Собирайте и запускайте проект. В результате работы на экране Вы увидите число 123.
Конмадна NCBENUM позволяет получить список чисел LANA.